//根据服务器用户返回的menuList数据和allRoutes进行匹配，

/**
 * 
 * @param {Array} allRoutes 用户的有效完整路由配置
 * @param {Array} menuList 服务器返回的用户菜单名字
 * */
import allRoutes from '@/router/allRoutes';


const recursionRoutes = (allRoutes, menuList) => {
    let userRoutes = []
    allRoutes.forEach(item => {
        menuList.forEach(v => {
            if (item.meta.name === v.name) {
                if (v.children && v.children.length > 0) {
                    item.children = recursionRoutes(item.children, v.children)   //子路由通过递归返回的是一个存放对象的数组。故可以直接作为item.children的属性值，表示匹配到符合条件的name;最终userRoutes数组中存放的每个对象都会对一个这一个item或者item.children;
                }
                userRoutes.push(item)
            }
        })
    })
    return userRoutes
}

let menuList = [
    {
        "name": "管理首页"
    },
    {
        "name": "学员管理",
        "children": [
            {
                "name": "学员项目管理"
            }
        ]
    },
    {
        "name": "我的中心"
    }
]

console.log(recursionRoutes(allRoutes,menuList));

export default recursionRoutes